红葡萄酒品质探索 by F

本报告通过一个包含 1599 种红酒的数据集,来探讨红酒质量和红酒中各种化学性质的关系,并探索是什么带来了更高质量的红酒。

数据概要

## [1] 1599   13
## 'data.frame':    1599 obs. of  13 variables:
##  $ X                   : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ fixed.acidity       : num  7.4 7.8 7.8 11.2 7.4 7.4 7.9 7.3 7.8 7.5 ...
##  $ volatile.acidity    : num  0.7 0.88 0.76 0.28 0.7 0.66 0.6 0.65 0.58 0.5 ...
##  $ citric.acid         : num  0 0 0.04 0.56 0 0 0.06 0 0.02 0.36 ...
##  $ residual.sugar      : num  1.9 2.6 2.3 1.9 1.9 1.8 1.6 1.2 2 6.1 ...
##  $ chlorides           : num  0.076 0.098 0.092 0.075 0.076 0.075 0.069 0.065 0.073 0.071 ...
##  $ free.sulfur.dioxide : num  11 25 15 17 11 13 15 15 9 17 ...
##  $ total.sulfur.dioxide: num  34 67 54 60 34 40 59 21 18 102 ...
##  $ density             : num  0.998 0.997 0.997 0.998 0.998 ...
##  $ pH                  : num  3.51 3.2 3.26 3.16 3.51 3.51 3.3 3.39 3.36 3.35 ...
##  $ sulphates           : num  0.56 0.68 0.65 0.58 0.56 0.56 0.46 0.47 0.57 0.8 ...
##  $ alcohol             : num  9.4 9.8 9.8 9.8 9.4 9.4 9.4 10 9.5 10.5 ...
##  $ quality             : int  5 5 5 6 5 5 5 7 7 5 ...
##        X          fixed.acidity   volatile.acidity  citric.acid   
##  Min.   :   1.0   Min.   : 4.60   Min.   :0.1200   Min.   :0.000  
##  1st Qu.: 400.5   1st Qu.: 7.10   1st Qu.:0.3900   1st Qu.:0.090  
##  Median : 800.0   Median : 7.90   Median :0.5200   Median :0.260  
##  Mean   : 800.0   Mean   : 8.32   Mean   :0.5278   Mean   :0.271  
##  3rd Qu.:1199.5   3rd Qu.: 9.20   3rd Qu.:0.6400   3rd Qu.:0.420  
##  Max.   :1599.0   Max.   :15.90   Max.   :1.5800   Max.   :1.000  
##  residual.sugar     chlorides       free.sulfur.dioxide
##  Min.   : 0.900   Min.   :0.01200   Min.   : 1.00      
##  1st Qu.: 1.900   1st Qu.:0.07000   1st Qu.: 7.00      
##  Median : 2.200   Median :0.07900   Median :14.00      
##  Mean   : 2.539   Mean   :0.08747   Mean   :15.87      
##  3rd Qu.: 2.600   3rd Qu.:0.09000   3rd Qu.:21.00      
##  Max.   :15.500   Max.   :0.61100   Max.   :72.00      
##  total.sulfur.dioxide    density             pH          sulphates     
##  Min.   :  6.00       Min.   :0.9901   Min.   :2.740   Min.   :0.3300  
##  1st Qu.: 22.00       1st Qu.:0.9956   1st Qu.:3.210   1st Qu.:0.5500  
##  Median : 38.00       Median :0.9968   Median :3.310   Median :0.6200  
##  Mean   : 46.47       Mean   :0.9967   Mean   :3.311   Mean   :0.6581  
##  3rd Qu.: 62.00       3rd Qu.:0.9978   3rd Qu.:3.400   3rd Qu.:0.7300  
##  Max.   :289.00       Max.   :1.0037   Max.   :4.010   Max.   :2.0000  
##     alcohol         quality     
##  Min.   : 8.40   Min.   :3.000  
##  1st Qu.: 9.50   1st Qu.:5.000  
##  Median :10.20   Median :6.000  
##  Mean   :10.42   Mean   :5.636  
##  3rd Qu.:11.10   3rd Qu.:6.000  
##  Max.   :14.90   Max.   :8.000

初步观察:

单变量图

对 12 个单变量进行绘图,快速了解数据分布

单变量分析

红酒质量

红酒质量是我们要探索的因变量,我们先对它进行分析。红酒质量的分布比较接近正态分布,没有 0,1,2,9,10 等级的红酒,大多数红酒处于等级 5 和等级 6,较少数红酒处于等级 3,4,8。

根据观察结果,对等级进行分类,低(等级 0-4),中(等级 5-6),高(等级 7-10)

## 
##    low(0-4) medium(5-6)  high(7-10) 
##          63        1319         217

低、中、高质量等级的红酒数量依次是63、1319、217。

化学性质的分布和异常值

观察化学性质变量的分布:

  • 接近正态分布:密度、PH
  • 正偏斜分布:挥发酸度,固定酸度, 柠檬酸, 游离二氧化硫, 总二氧化硫, 硫酸盐, 酒精
  • 长尾分布:残糖量, 氯化物

可能存在的异常:

  • 柠檬酸有大量的 0 值
  • 残糖量和氯化物存在异常值

取 挥发酸度、固定酸度、柠檬酸 的 log10 值

除了柠檬酸存在 0 值影响分布,可以看到进行 log 处理后数据更接近正态分布。

数据集结构

数据集中包含 1599 种红酒的观察值,12 个变量

  • 要探索的因变量是红酒质量,而其他 11 个变量是预测变量。
  • 大部分的红酒的质量等级为 5 或 6。
  • 有一部分红酒中柠檬酸为 0 ,其余的红酒中柠檬酸的含量少于 0.75。
  • 大多数红酒的残留糖量在 1~3.5 间。
  • 大多数红酒的氯化物含量在 0.03~0.125 间。
  • 50%的红葡萄酒的密度约为 0.996,最大密度为1.004。
  • 大多数红酒的 PH 值在 3~3.5 间。
  • 酒精的平均值为 10.42%,最大值 为14.9。
  • 硫酸盐的最大值为 2,最小值为 0.33。

数据集中的主要特征

基于上面的数据,初步认为红酒质量可能受 柠檬酸、挥发性酸 的影响比较大。

数据集中还有哪些其他功能可以帮助您调查您的兴趣特征?

氯化物和残留糖量或许也影响红葡萄酒的质量,因为它们能影响口感和味道。

您是否从数据集中的现有变量创建了任何新变量?

是的,根据质量的等级分数,创建了一个新变量 grade,将质量分为 低(0-4)、中(5-6)、高(8-10)三个等级

是否有不寻常的分布?您是否对数据执行任何操作以整理,调整或更改数据的形式?如果是这样,你为什么这么做?

存在一些偏斜分布和长尾分布,对数据进行了 log 处理来初步探索,需要在之后进行更深入分析时才能判断什么样的处理是有效的。

双变量图与双变量分析

绘制相关系数矩阵和散点图矩阵来了解红酒中化学性质与质量,及各变量之间的关系

##                      fixed.acidity volatile.acidity citric.acid
## fixed.acidity           1.00000000     -0.256130895  0.67170343
## volatile.acidity       -0.25613089      1.000000000 -0.55249568
## citric.acid             0.67170343     -0.552495685  1.00000000
## residual.sugar          0.11477672      0.001917882  0.14357716
## chlorides               0.09370519      0.061297772  0.20382291
## free.sulfur.dioxide    -0.15379419     -0.010503827 -0.06097813
## total.sulfur.dioxide   -0.11318144      0.076470005  0.03553302
## density                 0.66804729      0.022026232  0.36494718
## pH                     -0.68297819      0.234937294 -0.54190414
## sulphates               0.18300566     -0.260986685  0.31277004
## alcohol                -0.06166827     -0.202288027  0.10990325
## quality                 0.12405165     -0.390557780  0.22637251
##                      residual.sugar    chlorides free.sulfur.dioxide
## fixed.acidity           0.114776724  0.093705186        -0.153794193
## volatile.acidity        0.001917882  0.061297772        -0.010503827
## citric.acid             0.143577162  0.203822914        -0.060978129
## residual.sugar          1.000000000  0.055609535         0.187048995
## chlorides               0.055609535  1.000000000         0.005562147
## free.sulfur.dioxide     0.187048995  0.005562147         1.000000000
## total.sulfur.dioxide    0.203027882  0.047400468         0.667666450
## density                 0.355283371  0.200632327        -0.021945831
## pH                     -0.085652422 -0.265026131         0.070377499
## sulphates               0.005527121  0.371260481         0.051657572
## alcohol                 0.042075437 -0.221140545        -0.069408354
## quality                 0.013731637 -0.128906560        -0.050656057
##                      total.sulfur.dioxide     density          pH
## fixed.acidity                 -0.11318144  0.66804729 -0.68297819
## volatile.acidity               0.07647000  0.02202623  0.23493729
## citric.acid                    0.03553302  0.36494718 -0.54190414
## residual.sugar                 0.20302788  0.35528337 -0.08565242
## chlorides                      0.04740047  0.20063233 -0.26502613
## free.sulfur.dioxide            0.66766645 -0.02194583  0.07037750
## total.sulfur.dioxide           1.00000000  0.07126948 -0.06649456
## density                        0.07126948  1.00000000 -0.34169933
## pH                            -0.06649456 -0.34169933  1.00000000
## sulphates                      0.04294684  0.14850641 -0.19664760
## alcohol                       -0.20565394 -0.49617977  0.20563251
## quality                       -0.18510029 -0.17491923 -0.05773139
##                         sulphates     alcohol     quality
## fixed.acidity         0.183005664 -0.06166827  0.12405165
## volatile.acidity     -0.260986685 -0.20228803 -0.39055778
## citric.acid           0.312770044  0.10990325  0.22637251
## residual.sugar        0.005527121  0.04207544  0.01373164
## chlorides             0.371260481 -0.22114054 -0.12890656
## free.sulfur.dioxide   0.051657572 -0.06940835 -0.05065606
## total.sulfur.dioxide  0.042946836 -0.20565394 -0.18510029
## density               0.148506412 -0.49617977 -0.17491923
## pH                   -0.196647602  0.20563251 -0.05773139
## sulphates             1.000000000  0.09359475  0.25139708
## alcohol               0.093594750  1.00000000  0.47616632
## quality               0.251397079  0.47616632  1.00000000

可以得知,和红酒质量最相关的 4 个因素是:

酒精 vs 质量

酒精和红酒质量相关性最大,绘制它们的散点图。

为了更好观察趋势,添加抖动和趋势线

酒精和红酒质量呈现线性关系

观察每个质量等级红酒的平均酒精含量,总体上也呈现线性趋势,最高质量的红酒有着最高的酒精含量

加入grade来观察分布

用同样的方法对其他几个变量进行分析

挥发酸度 vs 质量

挥发酸度和红酒质量间负相关,高品质的红酒中挥发酸度很低。这一点符合我们的经验认知,挥发酸度能降低红酒的好口感。

硫酸盐( log10 ) vs 质量

分布的偏斜比较明显,对硫酸盐数据进行 log 变换

再计算相关系数

## 
##  Pearson's product-moment correlation
## 
## data:  log10(redwine$sulphates) and redwine$quality
## t = 12.967, df = 1597, p-value < 2.2e-16
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  0.2636092 0.3523323
## sample estimates:
##       cor 
## 0.3086419

可以看到,进行 log 变换后的硫酸盐,相关系数为 0.309,高于原始的 0.251;和红酒质量间存在较强的正相关。

柠檬酸 vs 质量

当红酒质量上升时,其中的柠檬酸含量也有所增加,虽然幅度不是很大,但硫酸盐和红酒质量件仍存在轻微的正相关。

其他变量之间相关性

谈谈你在这部分调查中观察到的一些关系。感兴趣的功能与数据集中的其他功能有何不同?

  • 酒精和红酒质量呈较强正相关,红酒的最高质量是酒精的最高平均值。
  • 是硫酸盐(log10)与红酒质量呈较强正相关
  • 挥发酸度和红酒质量呈负相关。大部分质量为 8 的红酒的挥发酸度为 0.3〜0.5,而质量为 3 的红酒的挥发酸度大于 0.4。
  • 红酒质量也和柠檬酸含量呈正相关。大多数葡萄酒中少量柠檬酸不超过 0.8,大多数品质最高的葡萄酒(7或8),柠檬酸含量在 0.25~0.5 之间。质量为 3 的红酒,柠檬酸低达 0。

是否观察到其他功能之间的任何有趣的关系(不是感兴趣的主要特征)?

  • 固定酸度和柠檬酸强正相关,cor = 0.672
  • 固定酸度和密度强正相关,cor = 0.668
  • 固定酸度和 PH 强负相关,cor = -0.683
  • 挥发酸度和柠檬酸强负相关,cor = -0.552
  • 柠檬酸和 PH 强负相关,cor = -0.542
  • 密度和酒精强负相关,cor = -0.496

你发现最强的关系是什么?

  • 和红酒质量关系最强的是酒精
  • 任何两个变量之间最强的关系是在 PH 和固定酸度之间

多变量图

酒精、挥发酸度 vs 质量

在酒精与质量的二维关系上,加入挥发酸度变量,并添加抖动

用另一个维度来观察

加入`grade`来对质量等级分区

高质量的红酒拥有更高的酒精和更低的挥发酸度。

酒精、硫酸盐 vs 质量

更高质量的红酒具有较高的硫酸盐。

酒精、柠檬酸 vs 质量

更高质量的红酒具有较高的柠檬酸,但相关性不是非常强。

线性模型

尝试建立一个多变量线性模型来预测红酒质量。

## 
## Calls:
## m1: lm(formula = quality ~ alcohol, data = redwine)
## m2: lm(formula = quality ~ alcohol + volatile.acidity, data = redwine)
## m3: lm(formula = quality ~ alcohol + volatile.acidity + log10(sulphates), 
##     data = redwine)
## m4: lm(formula = quality ~ alcohol + volatile.acidity + log10(sulphates) + 
##     citric.acid, data = redwine)
## m5: lm(formula = quality ~ alcohol + volatile.acidity + log10(sulphates) + 
##     citric.acid + pH, data = redwine)
## m6: lm(formula = quality ~ alcohol + volatile.acidity + log10(sulphates) + 
##     citric.acid + pH + chlorides, data = redwine)
## m7: lm(formula = quality ~ alcohol + volatile.acidity + log10(sulphates) + 
##     citric.acid + pH + chlorides + total.sulfur.dioxide, data = redwine)
## 
## =====================================================================================================
##                            m1         m2         m3         m4         m5         m6         m7      
## -----------------------------------------------------------------------------------------------------
##   (Intercept)            1.875***   3.095***   3.369***   3.444***   5.037***   5.603***   5.819***  
##                         (0.175)    (0.184)    (0.184)    (0.196)    (0.449)    (0.462)    (0.461)    
##   alcohol                0.361***   0.314***   0.303***   0.303***   0.323***   0.305***   0.290***  
##                         (0.017)    (0.016)    (0.016)    (0.016)    (0.016)    (0.017)    (0.017)    
##   volatile.acidity                 -1.384***  -1.156***  -1.217***  -1.235***  -1.109***  -1.061***  
##                                    (0.095)    (0.097)    (0.112)    (0.112)    (0.114)    (0.114)    
##   log10(sulphates)                             1.477***   1.518***   1.513***   1.824***   1.864***  
##                                               (0.177)    (0.181)    (0.180)    (0.190)    (0.190)    
##   citric.acid                                            -0.113     -0.357**   -0.272*    -0.226     
##                                                          (0.103)    (0.120)    (0.120)    (0.120)    
##   pH                                                                -0.521***  -0.596***  -0.590***  
##                                                                     (0.132)    (0.132)    (0.132)    
##   chlorides                                                                    -1.896***  -1.968***  
##                                                                                (0.394)    (0.392)    
##   total.sulfur.dioxide                                                                    -0.002***  
##                                                                                           (0.001)    
## -----------------------------------------------------------------------------------------------------
##   R-squared                 0.227      0.317      0.345      0.346      0.352      0.362      0.369  
##   adj. R-squared            0.226      0.316      0.344      0.344      0.350      0.359      0.367  
##   sigma                     0.710      0.668      0.654      0.654      0.651      0.646      0.643  
##   F                       468.267    370.379    280.646    210.808    173.273    150.259    133.167  
##   p                         0.000      0.000      0.000      0.000      0.000      0.000      0.000  
##   Log-likelihood        -1721.057  -1621.814  -1587.752  -1587.153  -1579.425  -1567.885  -1557.943  
##   Deviance                805.870    711.796    682.108    681.597    675.040    665.367    657.144  
##   AIC                    3448.114   3251.628   3185.503   3186.306   3172.850   3151.769   3133.885  
##   BIC                    3464.245   3273.136   3212.389   3218.569   3210.490   3194.786   3182.280  
##   N                      1599       1599       1599       1599       1599       1599       1599      
## =====================================================================================================

该模型可以描述为:

redwine_quality = 5.819 + 0.29alcohol - 1.061volatile.acidity + 1.864log10(sulphates) - 0.226citric.acid - 0.59pH - 1.968cholorides-0.002*total.sulfur.dioxide

虽然 R-squared 只有 0.369,不是一个很准确的预测模型。主要的原因可能是数据集中数据有限,且采用评分的来衡量红酒质量也有很大的限制。

总结

总结一:酒精对红酒质量的影响

通过相关系数计算,得出酒精含量对红酒质量的影响最大

酒精和红酒质量正相关,高质量的红酒有着更高的酒精含量。

总结二:影响红酒质量的主要因素

高质量的红酒倾向于具有较高的酒精含量和较低的挥发酸度含量,同时,也倾向于具有较高的硫酸盐和较高的柠檬酸含量。

总结三:更好的红酒

grade中的两端等级来作图

这张图可以明显地看出高酒精含量和低挥发酸度组合带来更高质量的红酒

从这张图就可以看出,挥发酸度、硫酸盐、柠檬酸和红酒质量的相关性在逐渐减弱,以至于无法直接定论柠檬酸成分的含量多少决定了红酒质量好坏。但也许是因为受到其他成分的影响柠檬酸的作用被覆盖了。这也许可以解释为什么预估线性模型的 R 值仅有 0.369。正是各种化学成分的特定组合带来了更好的红酒,而不仅仅是某几种成分就能决定。当然酒精和挥发酸度的影响不可忽视。

复盘